dy_lib=libmymethod.so #11 形成一个动态库
static_lib=libmymath.a  # 1. 形成一个库

.PHONY:all 
all: $(dy_lib) $(static_lib)

$(static_lib):mymath.o  # 3. 汇总操作，将所有的.o文件打包称一个库文件.a
	ar -rc $@ $^  # ar:生成静态库.a命令   -rc把.o文件
mymath.o:mymath.c # 2. 形成这个给库所以来的.o文件；由于.o文件是由.c文件编译的，所以先执行这个
	gcc -c $^     # -e -s -c     .i .s .o


$(dy_lib):mylog.o myprint.o
	gcc -shared -o $@ $^
mylog.o:mylog.c
	gcc -fPIC -c $^
myprint.o:myprint.c
	gcc -fPIC -c $^


.PHONY:clean     
clean:
	rm -rf *.o *.a *.so mylib   #清理

.PHONY:output     # 4. 发布静态库
output:
	mkdir -p mylib/include   #创建文件夹
	mkdir -p mylib/lib
	cp *.h mylib/include    #将生成的头文件与静态库.a拷贝至文件夹下
	cp *.a mylib/lib  # 至此，拷贝这个文件夹就能获得静态库所有信息了。
	cp *.so mylib/lib
